home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 050 / pibasync.arc / README.DOC < prev    next >
Encoding:
Text File  |  1986-11-01  |  5.6 KB  |  156 lines

  1. INTRODUCTION
  2. ============
  3.  
  4. PIBASYNC.ARC is an archive file which contains a set of routines for
  5. implementing fully-buffered asynchronous serial port I/O from Turbo Pascal
  6. on the IBM PC and compatibles.  The routines have been extracted
  7. from my PibTerm v4.0 program.
  8.  
  9. Features of PibAsync:
  10.  
  11.    -- Both input and output buffering for the serial port, resulting
  12.       in improved performance especially under multitaskers
  13.    -- Buffer sizes are user-definable up to 32K bytes each for
  14.       the input and output ring buffers
  15.    -- Speeds up to 19200
  16.    -- Support for Com1: through Com4:
  17.    -- The ability to re-define port addresses, base RS 232 addresses,
  18.       and IRQ lines for non-standard ports
  19.    -- Optional XON/XOFF handling at the interrupt level
  20.    -- Optional CTS/DSR handling at the interrupt level
  21.    -- Machine code (via INLINE) provides respectable speed for
  22.       the basic functions
  23.  
  24. Limitations:
  25.  
  26.    -- Only one serial port is supported at a time.  It would be
  27.       an interesting project for someone to provide multiple
  28.       simultaneous port access.
  29.    -- 38400 baud is not available.  If someone would like to add
  30.       that, please feel free to do it and make it available for
  31.       the rest of us.
  32.  
  33.  
  34. ARCHIVE CONTENTS
  35. ================
  36.  
  37. The following 13 files should be present in PIBASYNC.ARC:
  38.  
  39.      ASCII.GLO     --- Some Ascii character set definitions
  40.      ASYINT.ASM    --- ASM source for asynchronous handler
  41.      ASYNCREC.ASM  --- ASM source for receive-a-character routine
  42.      ASYNCSEN.ASM  --- ASM source for send-a-character routine
  43.      DUMBTRM.PAS   --- Sample dumb terminal emulator
  44.      FIXBRACK.PAS  --- Routine for neatening .OBJ files produced
  45.                        by the INLINE assembler.
  46.      GLOBTYPE.GLO  --- Global declarations for non-async-related variables
  47.                        needed by async code
  48.      PIBASYN1.MOD  --- Asynchronous I/O routines, part 1
  49.      PIBASYN2.MOD  --- Asynchronous I/O routines, part 2
  50.      PIBASYN3.MOD  --- Asynchronous I/O routines, part 3
  51.      PIBASYNC.GLO  --- Global declarations for async-related variables
  52.      README.DOC    --- What you're reading now
  53.      TIMEREC.ASM   --- ASM source for receiving character with delay
  54.  
  55. The .ASM files can be assembled with Dave Baldwin's program INLINE.COM,
  56. which converts the assembler source to Turbo Pascal INLINE statements.
  57. The PIBASYN*.MOD files already contain the processed assembler source,
  58. so you do not need to run INLINE on the .ASM files unless you want to alter
  59. them.
  60.  
  61. There are two .ASM routines in which the generated code for
  62. a CALL statement must be modified in the corresponding .OBJ file
  63. produced by INLINE.  These routines are ASYNCREC.ASM and TIMEREC.ASM.
  64. The nature of the modification is indicated in ASYNCREC.ASM and
  65. TIMEREC.ASM.  (I couldn't figure out how to get INLINE to generate the
  66. correct code;  if someone figures it out, please let me know.)
  67.  
  68.  
  69. COMPATIBILITY WITH PREVIOUS VERSIONS
  70. ====================================
  71.  
  72. The calling sequences of these revised routines are largely compatible
  73. with those previously available as part of earlier versions of
  74. PibTerm.  If you used those earlier routines, you should be able
  75. to convert to these (with a resulting increase in efficiency) with
  76. very little trouble.  The major important changes are that the
  77. routines Async_Init and Async_Close now take arguments.
  78.  
  79.  
  80. DOCUMENTATION
  81. =============
  82.  
  83. See the documentation block headers for individual routines in PIBASYN*.MOD
  84. for details on the calling sequences and usage of the routines.
  85.  
  86.  
  87. SAMPLE PROGRAM
  88. ==============
  89.  
  90. The DUMBTRM.PAS routine demonstrates how to use the PibAsync routines to
  91. build a dumb terminal emulation program.
  92.  
  93.  
  94. USE OF THE ROUTINES
  95. ===================
  96.  
  97. You may use these routines for any NON-COMMERCIAL purpose whatsoever.
  98. If you change these routines, you MUST make the revised source
  99. available.  Many individuals used the code from previous versions
  100. of PibTerm and incorporated interesting changes in the async routines,
  101. but did NOT make the resulting changes available in source form
  102. so that all of us could benefit.  I take a dim view of that;  I have
  103. made this source code available so that others can learn from what
  104. I have done (and correct my mistakes).  I expect you to provide
  105. the same courtesy in return.
  106.  
  107.  
  108. SUPPORT
  109. =======
  110.  
  111. Please realize that these routines are not a commercial effort and that
  112. I simply cannot afford the time or money to individually support users.
  113. I WILL NOT return phone calls about these routines, and I WILL NOT
  114. fix your code for you.
  115.  
  116. There are a number of commercial packages of asynchronous routines
  117. available for Turbo Pascal.  If you need a package for commercial
  118. development, you should consider one of them.
  119.  
  120. You may send messages to me as indicated below, if you wish.  I will not
  121. necessarily answer all queries individually, however.
  122.  
  123.  
  124. COMMENTS, ETC.
  125. ==============
  126.  
  127. You may send comments to me via one of the following means.
  128. I may not answer all messages individually.  Also, I don't check for
  129. mail in these systems every day, so don't expect that a message
  130. will reach me in less than a couple of weeks (except via BITNET).
  131.  
  132.  
  133. US Mail:
  134.  
  135.      Philip R. Burns
  136.      Vogelback Computing Center
  137.      Northwestern University
  138.      2129 Sheridan Road
  139.      Evanston, IL  60201
  140.  
  141. BITNET:     PRB02533@NUACC
  142.  
  143. CompuServe: CIS ID  72437,62
  144.  
  145. The Source: BDW100
  146.  
  147. PeopleLink: P3Z677
  148.  
  149. BBSs:
  150.  
  151.      Gene Plantz's BBS   (subscription only)
  152.      Ron Fox's BBS       (312) 940 6496  (open)
  153.      Bob Blacher's BBS   (202) 547 2008  (open)
  154.  
  155. -- Thanks,
  156.    Phil Burns   11/01/86